home *** CD-ROM | disk | FTP | other *** search
- package engine.dynamicObjects
- {
- import engine.BitmapLibrary;
- import engine.Engine;
- import engine.WorldScene;
-
- public class Indian extends DynamicObject
- {
-
-
- private var _jumpTimer:Number = 0;
-
- private var _lobMode:Boolean = false;
-
- private var _spearTimer:Number;
-
- private var _hitTimer:Number = 0;
-
- private var _hit:Boolean = false;
-
- private var _spearDelay:Number = 200;
-
- public function Indian()
- {
- _spearDelay = 200;
- _spearTimer = Math.random() * _spearDelay;
- _hit = false;
- _hitTimer = 0;
- _jumpTimer = 0;
- _lobMode = false;
- _bmdArray = BitmapLibrary.Clips.DYN_Indian;
- super(_bmdArray[0]);
- _animationMethod = ANIM_METHODS.Arbitrary;
- _spearDelay = 200 - Engine.Instance.Difficulty * 5;
- if(_spearDelay < 50)
- {
- _spearDelay = 50;
- }
- _drawMethod = DMETHOD.Fast;
- _objectType = OBJ_TYPES.GP;
- _persistent = true;
- solid = false;
- z = 1;
- }
-
- override public function fStep() : *
- {
- super.fStep();
- _currentFrame += _frameSpeed;
- --_hitTimer;
- if(_hitTimer < 0)
- {
- _hit = false;
- }
- if(_hit)
- {
- if(Math.random() < 0.2)
- {
- WorldScene.Instance.generateSmokeParticles(this,1);
- }
- if(_currentFrame < 41 || _currentFrame >= _bmdArray.length - 1)
- {
- _jumpTimer = 10;
- _currentFrame = 41;
- }
- if(_jumpTimer > 0)
- {
- --_jumpTimer;
- _frameSpeed = 0;
- }
- else
- {
- _frameSpeed = 1;
- }
- }
- if(!_hit)
- {
- if(_currentFrame > 40)
- {
- _currentFrame = 1;
- _frameSpeed = 0;
- }
- --_spearTimer;
- if(Math.floor(_spearTimer) == 20)
- {
- _currentFrame = 2;
- _frameSpeed = 1;
- }
- if(_spearTimer < 0)
- {
- _spearTimer = _spearDelay;
- if(CameraFocus)
- {
- Main.Instance.playSound("throw");
- }
- if(_lobMode)
- {
- WorldScene.Instance.lobProjectile(this,new Spear());
- }
- else
- {
- WorldScene.Instance.createProjectile(this,new Spear());
- }
- }
- if(_currentFrame == 1)
- {
- }
- }
- }
-
- public function get Hit() : Boolean
- {
- return _hit;
- }
-
- public function set LobMode(val:Boolean) : *
- {
- _lobMode = val;
- }
-
- public function hit() : *
- {
- _hit = true;
- _hitTimer = 220;
- _frameSpeed = 1;
- }
- }
- }
-